package org.syx.edl;

/**
 * @author:whh
 * @date: 2025-09-05 21:40
 * <p></p>
 */
public interface ItemReader<T> {

    /**
     * 打开资源
     * @throws Exception
     */
    void open()throws Exception;

    /**
     * 是否还有元素
     * @return
     */
    boolean hasNext();

    /**
     * 下个元素
     * @return
     * @throws Exception
     */
    T next()throws Exception;

    /**
     * 翻转数据指针，可以重新读取数据
     */
    void flip();

    /**
     * 关闭资源
     * @throws Exception
     */
    void close()throws Exception;

}
